package cn.iocoder.yudao.module.crm.controller.admin.clue.vo.distributeconfig;

import cn.hutool.core.util.BooleanUtil;
import cn.iocoder.yudao.module.crm.controller.admin.module.vo.customerlimit.CrmModuleCustomerLimitRespVO;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.mzt.logapi.starter.annotation.DiffLogField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.AssertTrue;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Objects;

@Schema(description = "管理后台 - CRM 线索自动分配配置的创建/更新 Request VO")
@Data
public class CrmClueDistributeConfigSaveReqVO {

    @Schema(description = "启用状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
    @DiffLogField(name = "启用状态")
    @NotNull(message = "启用状态不能为空")
    private Boolean enabled;

    @Schema(description = "分配类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @DiffLogField(name = "分配类型")
    @NotNull(message = "分配类型不能为空")
    private Integer type;

    @Schema(description = "领取上限", example = "2")
    @NotNull(message = "领取上限配置不能为空")
    @DiffLogField(name = "领取上限")
    private Integer limitConfig;

    @Schema(description = "兜底负责人", example = "2")
    @DiffLogField(name = "兜底负责人")
    private Long defaultOwner;

    @Schema(description = "配置内容")
    private List<CrmClueDistributeConfigRespVO.DistributeConfigVO> configList;

    private Long moduleId;


}
